package cn.lichenfei.jfx.music.common;

import cn.lichenfei.jfx.music.common.model.MusicInfo;
import cn.lichenfei.jfx.music.common.model.TimeInfo;

/**
 * @author ChenFei
 * @2022年4月25日10:40:18
 */
public interface PlayerResult {

    /**
     * 返回音频总时长
     *
     * @param maxTime
     */
    void resultTimeInfo(TimeInfo maxTime);

    /**
     * 返回音频媒体数据
     *
     * @param mediaInfo
     */
    void resultMediaInfo(MusicInfo mediaInfo);

    /**
     * 返回音频实时监听数据
     */
    void resultListener(double timestamp, double duration, float[] magnitudes, float[] phases, TimeInfo currentTime);

    /**
     * 音频播放结束返回
     */
    void resultOnEnd();

    /**
     * 音频播放时返回
     */
    void resultPlay();

    /**
     * 音频暂停时返回
     */
    void resultPause();

}
